// 给定一个已排序的链表的头head,要求删除所有重复的元素，使每个元素只出现一次，返回已排序的链表

// 思路：遍历链表，如果cur和cur.next的值相等，则把cur.next删掉，这里循环判断
// 时间复杂度：O(n)
// 空间复杂度：O(1)

const { LinkedList, ListNode} = require('./64.设计链表')

function deleteDuplicates(head) {
    if (!head) {
        return head
    }
    let cur = head
    // 这里注意判断
    while (cur.next) {
        if (cur.val === cur.next.val) {
            cur.next = cur.next.next
        } else {
            cur = cur.next
        }
    }
    return head
}

const node = new LinkedList([1, 1, 2, 3, 3])
let result = deleteDuplicates(node.head)
console.log(result);